package pers.xx.sbm.dao;

import org.springframework.stereotype.Repository;
import pers.xx.sbm.vo.AreaVO;
import pers.xx.sbm.vo.ProjectIndicatorsVo;
import pers.xx.sbm.vo.RoleSampleVo;
import pers.xx.sbm.vo.TotalSampleVo;

import java.util.List;

@Repository
public interface ReportDataCountyMapper {

    /**
     * @description 获取区县名称数据
     * @author XieXing
     * @date 2021/12/15 14:03
     */
    List<AreaVO> getArea();

    /**
     * @description 根据区县编码获取各个角色所占比例
     * @author XieXing
     * @date 2021/12/15 14:38
     */
    List<RoleSampleVo> getRoleSampleCount(String sysCode);

    /**
     * @description 获取市属统计
     * @author XieXing
     * @date 2021/12/15 14:38
     */
    List<RoleSampleVo> getCityCenterSampleCount(String sysCode);

    /**
     * 根据区县、角色、学段查询区县总体满意率
     * @param areaName
     * @return
     */
    Double queryTotalSatisfactionRate(String areaName,String role,String xd);

    /**
     * 查询历年数据
     * @param areaName
     * @param xd
     * @param role
     * @return
     */
    List<Double> queryHistoryData(String areaName,String xd, String role,String year);

    /**
     * 根据区县、角色、学段查询满意水平
     * @param areaName
     * @return
     */
    List<TotalSampleVo> querySatisfaction(String areaName,String xd,String role);

    /**
     * 根据学段、角色查询区县各项目指标满意水平
     * @param xd
     * @param role
     * @return
     */
    List<ProjectIndicatorsVo> queryAreaProjectIndicatorsByXdAndRole(String areaName,String xd, String role);

    /**
     * 根据学段、角色查询区县各项目指标
     * @param xd
     * @param role
     * @return
     */
    List<String> queryAreaIndexNameByXdAndRole(String areaName,String xd, String role);

    /**
     * 根据区县查询学段满意水平
     * @param areaName
     * @return
     */
    List<TotalSampleVo> queryXdSatisfactionByArea(String areaName);

    /**
     * 根据区县、角色查询学段历史满意水平
     * @param areaName
     * @return
     */
    List<TotalSampleVo> queryXdHistoryData(String areaName,String role,String year);


    /**
     * 分项目查询指标
     * @param areaName
     * @param xd
     * @param role
     * @return
     */
    List<TotalSampleVo> queryProjectIndicatorsByAreaXdAndRole(String areaName,String xd,String role);
}
